/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.fatecpg.songs.intranet.managedbeans;

import br.com.fatecpg.songs.dao.util.DAOException;
import java.io.Serializable;
import java.util.List;

/**
 *
 * @author Marcos
 * Interface utilizada para garantir implementação de métodos em 
 * managedbeans de crud
 */
public interface RegisterManagedBean<E> extends Serializable{
    public static int LIST_STATE = 1;
    public static int REGISTER_STATE = 2;
    
    /*Preparar para a inclusão*/
    public void openNew() throws DAOException;
    /*Preparar para atualizar (carregar objeto para edição)*/
    public void openToUpdate() throws DAOException;   
    /*Incluir ou editar*/
    public void register() throws DAOException; 
    /*Cancelar um processo de alteração ou cadastro*/
    public void cancel() throws DAOException;
    /*Deletar registro*/
    public void delete() throws DAOException;  
    /*Lista de todos os itens*/
    public List<E> getList() throws DAOException; 
    
    
}